function    A310()
format long;

% 小波包
% 小波包分析能根据被分析信号的特征，自适应地选择相应频带，使之与信号频谱相匹配，从而提高时频分辨率。
% 一维信号的小波包树分解与重构的可视化
% 使用 readtable 读取数据表（推荐）
data = readtable('A3_data_single.xlsx');           % 自动读取表头
data2=readtable('A3_data_double.xlsx'); 
x = data{:, 150}
y = data2{:, 150}
wpt = wpdec(x, 3, 'db4', 'shannon');   % 使用log energy将级别为3的信号与sym4小波数据包分解。
wpt2 = wpdec(y, 3, 'db4', 'shannon');

subplot(3, 4, 1)
plot(x, 'b-');
hold on
plot(y, 'r-');
legend('单排钢筋信号', '双排钢筋信号信号')
title('4阶Daubechies小波')
hold off


cfs10 = wpcoef(wpt, [1 0]);                   % 获取packet (1, 0)系数。 
cfs_10 = wpcoef(wpt2, [1 0]);
cfs11 = wpcoef(wpt, [1 1]);                   % 获取packet (1, 1)系数。 
cfs_11 = wpcoef(wpt2, [1 1]);

subplot(3, 4, 2); 
plot(cfs10, 'b-');
hold on
plot(cfs_10, 'r-');
legend('单排钢筋信号节点 (1, 0)的信号频谱 ','双排钢筋信号节点 (1, 0)的信号频谱 ')
title('单排钢筋信号与双排钢筋信号节点 (1, 0)的信号频谱对比')
hold off

subplot(3, 4, 3); 
plot(cfs11, 'b-');
hold on
plot(cfs_11, 'r-');
legend('单排钢筋信号节点 (1, 1)的信号频谱 ','双排钢筋信号节点 (1, 1)的信号频谱 ');
title('单排钢筋信号与双排钢筋信号节点 (1, 1)的信号频谱对比')
xlim([500 600]); 
hold off

subplot(3, 4, 4); 
cfs20 = wpcoef(wpt, [2 0]);                   % 获取packet (2, 0)系数。
cfs_20 = wpcoef(wpt2, [2 0]); 
plot(cfs20, 'b-'); 
hold on
plot(cfs_20, 'r-'); 
legend('单排钢筋信号节点 (2, 0)的信号频谱 ','双排钢筋信号节点 (2, 0)的信号频谱 ');
title('单排钢筋信号与双排钢筋信号节点 (2, 0)的信号频谱对比')
hold off

subplot(3, 4, 5); 
cfs21 = wpcoef(wpt, [2 1]);                   % 获取packet (2, 1)系数。
cfs_21 = wpcoef(wpt2, [2 1]); 
plot(cfs21, 'b-');
hold on
plot(cfs_21, 'r-');
legend('单排钢筋信号节点 (2,1)的信号频谱 ','双排钢筋信号节点 (2, 1)的信号频谱 ');
title('单排钢筋信号与双排钢筋信号节点 (2, 1)的信号频谱对比')
xlim([200 400]); 
hold off


subplot(3, 4, 6); 
cfs22 = wpcoef(wpt, [2 2]);                   % 获取packet (2, 2)系数。
cfs_22 = wpcoef(wpt2, [2 2]);
plot(cfs22, 'b-'); 
hold on
plot(cfs_22, 'r-');
legend('单排钢筋信号节点 (2,2)的信号频谱 ','双排钢筋信号节点 (2, 2)的信号频谱 ');
title('单排钢筋信号与双排钢筋信号节点 (2, 2)的信号频谱对比')
xlim([200 400]);
hold off


subplot(3, 4, 7); 
cfs23 = wpcoef(wpt, [2 3]);                   % 获取packet (2, 3)系数。 
cfs_23 = wpcoef(wpt2, [2 3]);
plot(cfs23, 'b-'); 
hold on
plot(cfs_23, 'r-');
legend('单排钢筋信号节点 (2,3)的信号频谱 ','双排钢筋信号节点 (2, 3)的信号频谱 ');
title('单排钢筋信号与双排钢筋信号节点 (2, 3)的信号频谱对比')
xlim([200 400]);
hold off

%(1,0)信号频谱差值
subplot(3, 4, 8);
cha=cfs10-cfs_10;

plot(cha,'b-')
legend('单排钢筋信号与双排钢筋信号在节点 (1, 0)差值 ');
title('单排钢筋信号与双排钢筋信号节点(1, 0)差值')

%(1,1)信号频谱差值
subplot(3, 4, 9);
cha1=cfs11-cfs_11;

plot(cha1,'b-')
legend('单排钢筋信号与双排钢筋信号在节点 (1, 1)差值 ');
title('单排钢筋信号与双排钢筋信号节点(1, 1)差值')

%(2,0)信号频谱差值
subplot(3, 4, 10);
cha2=cfs20-cfs_20;

plot(cha2,'b-')
legend('单排钢筋信号与双排钢筋信号在节点 (2, 0)差值 ');
title('单排钢筋信号与双排钢筋信号节点(2, 0)差值')

%(2,1)信号频谱差值
subplot(3, 4, 11);
cha3=cfs21-cfs_21;

plot(cha3,'b-')
legend('单排钢筋信号与双排钢筋信号在节点 (2, 1)差值 ');
title('单排钢筋信号与双排钢筋信号节点(2, 1)差值')

%(2,2)信号频谱差值
subplot(3, 4, 12);
cha4=cfs22-cfs_22;

plot(cha4,'b-')
legend('单排钢筋信号与双排钢筋信号在节点 (2, 2)差值 ');
title('单排钢筋信号与双排钢筋信号节点(2, 2)差值')

